package com.wande.dataplatform.service;

import com.wande.common.mybatis.core.page.PageQuery;
import com.wande.common.mybatis.core.page.TableDataInfo;
import com.wande.dataplatform.domain.CheckRule;
import com.wande.dataplatform.domain.bo.CheckRuleBo;
import com.wande.dataplatform.domain.vo.CheckRuleVo;

import java.util.List;

/**
 * 数据稽查规则服务接口
 *
 * @author wande
 */
public interface ICheckRuleService {

    /**
     * 查询稽查规则列表
     */
    TableDataInfo<CheckRuleVo> queryPageList(CheckRuleBo bo, PageQuery pageQuery);

    /**
     * 查询稽查规则列表
     */
    List<CheckRuleVo> queryList(CheckRuleBo bo);

    /**
     * 根据ID查询稽查规则
     */
    CheckRuleVo queryById(Long id);

    /**
     * 新增稽查规则
     */
    Long insertByBo(CheckRuleBo bo);

    /**
     * 修改稽查规则
     */
    Boolean updateByBo(CheckRuleBo bo);

    /**
     * 批量删除稽查规则
     */
    Boolean deleteByIds(List<Long> ids);

    /**
     * 根据维度查询规则
     */
    List<CheckRuleVo> queryByDimension(String dimension);

    /**
     * 批量导入规则
     */
    Boolean importRules(List<CheckRuleBo> rules);
}
